// miniprogram/pages/userLogin/userLogin.js
var httpUtils = require('../../utils/httpUtils');

Page({

  /**
   * 页面的初始数据
   */
  data: {
    loginForm: {
      loginId: '',
      password: '',
      loginIdRules: [{
          min: 3,
          max: 20,
          message: '账号长度在3-20个字符之间',
          trigger: 'blur'
        },
        {
          required: true,
          message: '请输入登录密码',
          trigger: 'blur'
        }
      ],
      passwordRules: [{
          required: true,
          message: '请输入登录密码',
          trigger: 'blur'
        },
        {
          min: 3,
          max: 20,
          message: '密码长度在3-20个字符之间',
          trigger: 'blur'
        }
      ],
    }
  },
  submit(event) {
    const {
      detail
    } = event;
    /*
      detail 返回三个参数
      1、values: 各表单项的value值
      2、errors: 各表单项验证后的返回的错误信息数组
      3、isValidate: 表单是否验证通过的boolean值
      具体格式示例：
      detail = {
         values: {
             studentName: "",
             studentAge: "",
             studentAddress: ""
         },
         errors: {
             studentName: [],
             studentAge: [],
             studentAddress: []
         },
         isValidate: true
      }
      */
    if (detail.isValidate) {
      console.log(detail);
      wx.request({
        url: 'http://localhost:8080/register',
        method: 'POST',
        data: {
          username: detail.values.loginFormLoginId,
          password: detail.values.loginFormPassword,
          isWxLogin: true
        },
        // todo 处理登录逻辑
        // 从msg中获取token，然后跳转页面
        // 修改mine里面的数据
        success(res) {
          console.log(res);
          if (res.data.data.token != null) {
            var token = res.data.data.token
            var msg = res.data.data.msg
            // 设置token
            wx.setStorage({
              data: token,
              key: 'token',
            }).then(res => {
              // 设置用户基础信息
              wx.request({
                url: 'http://localhost:8080/system/user/userInfo',
                header: httpUtils.getHeader(),
                method: 'GET',
                success: function (res) {
                  console.log(res);
                  if (res.data.data != null) {
                    var userInfo = {
                      userRealName: res.data.data.realName,
                      userType: '已实名',
                      userIdCard: res.data.data.idCard,
                      userPhone: res.data.data.phone
                    }
                    wx.setStorage({
                      data: userInfo,
                      key: 'userInfo',
                    })
                  }
                }
              })
              wx.showToast({
                title: msg,
              }).then(res => {
                setTimeout(function () {
                  wx.navigateBack({
                    delta: 1,
                  })
                }, 1500)
              })
            })
          } else {
            wx.showToast({
              title: res.data.data.msg,
              icon: 'none'
            })
          }
        },
        fail(err) {
          console.log(err);
        }
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // lin-ui表单初始化
    wx.lin.initValidateForm(this);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})